home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-19 / iritsm3s.zip / SOLID0.IRT < prev    next >
Text File  |  1991-09-04  |  2KB  |  100 lines

  1. #
  2. # Extrusion example of the IRIT letters created manually:
  3. #
  4. #                Created by Gershon Elber,    Mar 89
  5. #
  6.  
  7. save_mat = view_mat;
  8. save_res = resolution;
  9.  
  10. view_mat = view_mat * scale(vector(-1.0, 1.0, 1.0));
  11.  
  12. v1  = vector( 0.0, 0.0, 0.0);                      # The I letter
  13. v2  = vector( 0.3, 0.0, 0.0);
  14. v3  = vector( 0.3, 0.0, 0.1);
  15. v4  = vector( 0.2, 0.0, 0.1);
  16. v5  = vector( 0.2, 0.0, 0.5);
  17. v6  = vector( 0.3, 0.0, 0.5);
  18. v7  = vector( 0.3, 0.0, 0.6);
  19. v8  = vector( 0.0, 0.0, 0.6);
  20. v9  = vector( 0.0, 0.0, 0.5);
  21. v10 = vector( 0.1, 0.0, 0.5);
  22. v11 = vector( 0.1, 0.0, 0.1);
  23. v12 = vector( 0.0, 0.0, 0.1);
  24.  
  25. I = poly( list( v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 ) );
  26. view(list(I), true);
  27.  
  28.  
  29. v1  = vector( 0.0, 0.0, 0.0);                    # The R Letter
  30. v2  = vector( 0.1, 0.0, 0.0);
  31. v3  = vector( 0.1, 0.0, 0.5);
  32. v4  = vector( 0.2, 0.0, 0.5);
  33. v5  = vector( 0.2, 0.0, 0.4);
  34. v6  = vector( 0.1, 0.0, 0.4);
  35. v7  = vector( 0.1, 0.0, 0.3);
  36. v8  = vector( 0.2, 0.0, 0.0);
  37. v9  = vector( 0.3, 0.0, 0.0);
  38. v10 = vector( 0.2, 0.0, 0.3);
  39. v11 = vector( 0.3, 0.0, 0.3);
  40. v12 = vector( 0.3, 0.0, 0.6);
  41. v13 = vector( 0.0, 0.0, 0.6);
  42.  
  43. R = poly( list( v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 ) );
  44. view(list(R), true);
  45.  
  46.  
  47. v1  = vector( 0.1, 0.0, 0.0);
  48. v2  = vector( 0.1, 0.0, 0.5);
  49. v3  = vector( 0.0, 0.0, 0.5);
  50. v4  = vector( 0.0, 0.0, 0.6);
  51. v5  = vector( 0.3, 0.0, 0.6);
  52. v6  = vector( 0.3, 0.0, 0.5);
  53. v7  = vector( 0.2, 0.0, 0.5);
  54. v8  = vector( 0.2, 0.0, 0.0);
  55.  
  56. T = poly( list( v1, v2, v3, v4, v5, v6, v7, v8 ) );
  57. view(list(T), true);
  58.  
  59. free(v1); free(v2); free(v3); free(v4); free(v5); free(v6); free(v7);
  60. free(v8); free(v9); free(v10); free(v11); free(v12); free(v13);
  61.  
  62. I1 = I;
  63. R2 = R * trans(vector( 0.4, 0.0, 0.0));
  64. I3 = I * trans(vector( 0.8, 0.0, 0.0));
  65. T4 = T * trans(vector( 1.2, 0.0, 0.0));
  66. free(I);
  67. free(R);
  68. free(T);
  69.  
  70. view_mat = view_mat * trans(vector(-0.8, 0.0, 0.0));
  71.  
  72. view(list(I1, R2, I3, T4), true);
  73.  
  74. ext_dir = vector( 0.0,-1.0, 0.0);
  75.  
  76. I1X = extrude(I1, ext_dir);
  77. R2X = extrude(R2, ext_dir);
  78. I3X = extrude(I3, ext_dir);
  79. T4X = extrude(T4, ext_dir);
  80. free(I1);
  81. free(R2);
  82. free(I3);
  83. free(T4);
  84.  
  85. S1 = I1X ^ R2X ^ I3X ^ T4X;
  86. free(I1X);
  87. free(R2X);
  88. free(I3X);
  89. free(T4X);
  90.  
  91. final = convex(S1);
  92. free(S1);
  93. interact(list(final), false);
  94.  
  95. save("solid0", list(view_mat,final));
  96. free(final);
  97.  
  98. resolution = save_res;
  99. view_mat = save_mat;
  100.